iT邦幫忙

2021 iThome 鐵人賽

DAY 7
0
自我挑戰組

HTML、 PHP CRUD 自我學習系列 第 7

第07天 - 一些些的 MySQL(下)

  • 分享至 

  • xImage
  •  

把昨天沒講完的 MySQL 操作補充一下
實作的時候記得打開 XAMPP。

更動資料"表"(新增或修改欄位,甚至移除)
步驟 : 點選你要的資料"庫">>點選你要的資料"表",到以下畫面
https://ithelp.ithome.com.tw/upload/images/20210907/20141355ZgcGIZxVT7.png

1.資料表的刪除、更動資料(不影響欄位的結構)
若要刪除指定資料表,可點選圖片中紅圈的 【刪除】。
【刪除】左邊的【清空】則是可以"清除"所有欄位的"值",原本欄位設定都會保留。
【清空】左邊的【新增】則是可以"新增"一筆欄位的"值",並不影響原本的欄位結構。

2.資料表結構的改動(可更改資料表的欄位)
如圖,點選結構,然後進到以下畫面
https://ithelp.ithome.com.tw/upload/images/20210907/20141355WwcEoRYYKK.png

https://ithelp.ithome.com.tw/upload/images/20210907/20141355uOmAkOgCPR.png
然後就可以點選修改,更改欄位的名稱、其屬性等(如 INT VARCHAR...)
刪除的話,那個欄位就會消失。

3.新增 外部鍵Foreign Key , 外部鍵的新增,目前我只知道只能用指令,
以及只有被設為 主鍵PRIMARY 的欄位才可以設定成外部鍵

步驟1:額外新增一個資料表(我取名 add_role ,來當作每個會員的等級,
     跟staff表中的staff_role 做呼應)如下圖。

https://ithelp.ithome.com.tw/upload/images/20210907/20141355grCC3jpLqq.png

https://ithelp.ithome.com.tw/upload/images/20210907/201413559WFzfFG3DC.png
表 add_role 我只有給一個欄位 STAFF_ROLE ,
並且想拿此欄位做 staff 中的 staff_role 外部鍵。

步驟2:指令新增外部鍵(以我的範例,改動 表staff 中的 staff_role欄位(新增外部鍵)
     外部鍵從哪來?? 從>>> 表add_role 中的 STAFF_ROLE)
ALTER TABLE staff
ADD FOREIGN KEY (staff_role) REFERENCES add_role(STAFF_ROLE);

(注意!! 新增此外部鍵時,我的 表staff 必須是空的,否則指令會出錯!!)

然後們來新增 表staff 的內容,如下圖 staff_role 的值
只能選則用 add_role 中的 STAFF_ROLE的值
https://ithelp.ithome.com.tw/upload/images/20210907/201413550STFsNbXrD.png

建完表後的樣子(staff_role 的欄位值 變藍色的)
https://ithelp.ithome.com.tw/upload/images/20210907/2014135548Y0HfNIHW.png

那外部鍵有甚麼用呢?
1.對我來說他可以"統一"一些格式(如:會員等級,不能像姓名一樣千百種)
2.類似防呆的作用,有被用到的外部鍵,會無法刪除。
(只要普通、白銀、黃金會員的資料有存在,無法隨意刪除 add_role 的資料
,除非 如:把所有白銀會員的資料都刪掉,這樣就可以刪掉 add_role >> STAFF_ROLE 中的白銀會員)

今天就先這樣,下次見。


上一篇
第06天 - 一些些的 MySQL(上)
下一篇
第08天 - PHP 列印出MySQL資料表的內容
系列文
HTML、 PHP CRUD 自我學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言